package com.slife.snap.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.slife.snap.config.JsonbTypeHandler;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 车辆进出记录表
 * @TableName tb_car_record
 */
@TableName(value ="tb_car_record",autoResultMap = true)
public class TbCarRecord implements Serializable {
    /**
     * 唯一标识
     */
    @TableId
    private String sid;

    /**
     * 车牌号
     */
    private String plateNumber;

    /**
     * 车辆类型
     */
    private String carType;

    /**
     * 车辆运输垃圾类型
     */
    private String pType;

    /**
     * 所属公司
     */
    private String commpanyName;

    @TableField(exist = false)
    private String msgType;

    /**
     * 称重时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss ",timezone = "GMT+8")
    private Date weighTime;

    /**
     * 第一次重量
     */

    private Double weighValue;

    /**
     * 第一次照片
     */
    @TableField(typeHandler= JsonbTypeHandler.class)
    private List<ImgEntity> imgList;

    /**
     * 进出站
     */
    private String stype;
    private Integer isDel;
    private Integer isMerge;

    /** 当前分页 */
    @TableField(exist = false)
    private Integer pageNum;
    /** 分页长度 */
    @TableField(exist = false)
    private Integer pageSize;

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss ",timezone = "GMT+8")
    private Date createDate;

    public String getMsgType() {
        return msgType;
    }

    public void setMsgType(String msgType) {
        this.msgType = msgType;
    }

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    public String getSid() {
        return sid;
    }

    /**
     * 唯一标识
     */
    public void setSid(String sid) {
        this.sid = sid;
    }

    /**
     * 车牌号
     */
    public String getPlateNumber() {
        return plateNumber;
    }

    /**
     * 车牌号
     */
    public void setPlateNumber(String plateNumber) {
        this.plateNumber = plateNumber;
    }

    /**
     * 车辆类型
     */
    public String getCarType() {
        return carType;
    }

    /**
     * 车辆类型
     */
    public void setCarType(String carType) {
        this.carType = carType;
    }

    /**
     * 所属公司
     */
    public String getCommpanyName() {
        return commpanyName;
    }

    /**
     * 所属公司
     */
    public void setCommpanyName(String commpanyName) {
        this.commpanyName = commpanyName;
    }

    /**
     * 称重时间
     */
    public Date getWeighTime() {
        return weighTime;
    }

    /**
     * 称重时间
     */
    public void setWeighTime(Date weighTime) {
        this.weighTime = weighTime;
    }

    /**
     * 第一次重量
     */
    public Double getWeighValue() {
        return weighValue;
    }

    /**
     * 第一次重量
     */
    public void setWeighValue(Double weighValue) {
        this.weighValue = weighValue;
    }

    /**
     * 第一次照片
     */
    public List<ImgEntity> getImgList() {
        return imgList;
    }

    /**
     * 第一次照片
     */
    public void setImgList(List<ImgEntity> imgList) {
        this.imgList = imgList;
    }

    /**
     * 进出站
     */
    public String getStype() {
        return stype;
    }

    public String getpType() {
        return pType;
    }

    public void setpType(String pType) {
        this.pType = pType;
    }

    /**
     * 进出站
     */
    public void setStype(String stype) {
        this.stype = stype;
    }

    /**
     * 创建时间
     */
    public Date getCreateDate() {
        return createDate;
    }

    /**
     * 创建时间
     */
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    public Integer getIsMerge() {
        return isMerge;
    }

    public void setIsMerge(Integer isMerge) {
        this.isMerge = isMerge;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", sid=").append(sid);
        sb.append(", plateNumber=").append(plateNumber);
        sb.append(", carType=").append(carType);
        sb.append(", commpanyName=").append(commpanyName);
        sb.append(", weighTime=").append(weighTime);
        sb.append(", weighValue=").append(weighValue);
        sb.append(", imgList=").append(imgList);
        sb.append(", stype=").append(stype);
        sb.append(", createDate=").append(createDate);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}